// 入口函数
$(function () {
    // 需求1: 发送ajax，获取用户信息，渲染头像和欢迎信息;
    //    因为后面还要用到这个方法，所以封装成函数;
    getUserInfo();

    // 需求2: 退出登录
    $("#logout").on('click', function () {
        // 弹出层询问
        layer.confirm('是否确认退出登录？', { icon: 3, title: '提示' }, function (index) {
            // 退出登录: 强行跳转到登录页，销毁token
            location.href = '/login.html';
            localStorage.removeItem('token');
            // 弹出层自带，关闭对话框
            layer.close(index);
        });
    });
});

// 封装获取用户信息方法 - 写到入口函数外面去;
//     因为其他页面要用，所以封装为全局函数！
function getUserInfo() {
    axios({
        method: 'GET',
        url: '/my/userinfo',
        // headers: {
        //     Authorization: localStorage.getItem('token')
        // }
    }).then(res => {
        // console.log(res.data);
        if (res.data.status != 0) {
            return layui.layer.msg(res.data.message);
        }
        // 成功不需要提示; 直接渲染头像和欢迎词
        renderAvatar(res.data.data);
    });
}
// 封装渲染用户信息函数
function renderAvatar(user) {
    // 1.渲染欢迎词; 优先渲染 nickname，没有昵称才渲染 username ;
    let name = user.nickname || user.username;
    $(".welcome").html('欢迎&nbsp;' + name);
    // 2.渲染头像; 判断用户是否有图片头像;
    //  如果有图片头像，就隐藏文字头像，显示图片头像，并赋值;
    //  如果没有图片头像，就显示文字头像，并赋值，隐藏图片头像;
    if (user.user_pic != null) {
        $(".layui-nav-img").show().attr('src', user.user_pic);
        $(".avatar-text").hide();
    } else {
        // 文字头像，设置欢迎词的首字母大写！
        $(".layui-nav-img").hide();
        let first = name[0].toUpperCase();
        $(".avatar-text").show().html(first);
    }
}
